<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: pcl::DavidSDKGrabber类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classpcl_1_1_david_s_d_k_grabber.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pub-attribs">Public 属性</a> &#124;
<a href="#pro-methods">Protected 成员函数</a> &#124;
<a href="#pro-attribs">Protected 属性</a> &#124;
<a href="classpcl_1_1_david_s_d_k_grabber-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">pcl::DavidSDKGrabber类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p><a class="el" href="classpcl_1_1_grabber.html" title="Grabber interface for PCL 1.x device drivers">Grabber</a> for davidSDK structured light compliant devices.<br  />
The <a href="http://www.david-3d.com/en/products/david-sdk">davidSDK SDK</a> allows to use a structured light scanner to fetch clouds/meshes.<br  />
The purpose of this grabber is NOT to provide all davidSDK functionalities but rather provide a PCL-unified interface to the sensor for basic operations.<br  />
Please consult the <a href="http://wiki.david-3d.com/david-wiki">David-3d wiki</a> for more information.  
 <a href="classpcl_1_1_david_s_d_k_grabber.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="davidsdk__grabber_8h_source.html">davidsdk_grabber.h</a>&gt;</code></p>
<div class="dynheader">
类 pcl::DavidSDKGrabber 继承关系图:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classpcl_1_1_david_s_d_k_grabber.png" usemap="#pcl::DavidSDKGrabber_map" alt=""/>
  <map id="pcl::DavidSDKGrabber_map" name="pcl::DavidSDKGrabber_map">
<area href="classpcl_1_1_grabber.html" title="Grabber interface for PCL 1.x device drivers" alt="pcl::Grabber" shape="rect" coords="0,0,140,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a64af01304a65641c8abc2351fcff13b5"><td class="memItemLeft" align="right" valign="top"><a id="a64af01304a65641c8abc2351fcff13b5"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a64af01304a65641c8abc2351fcff13b5">DavidSDKGrabber</a> ()</td></tr>
<tr class="memdesc:a64af01304a65641c8abc2351fcff13b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor <br /></td></tr>
<tr class="separator:a64af01304a65641c8abc2351fcff13b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10df7434d2f581b87fa3aa9c2215b736"><td class="memItemLeft" align="right" valign="top"><a id="a10df7434d2f581b87fa3aa9c2215b736"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a10df7434d2f581b87fa3aa9c2215b736">~DavidSDKGrabber</a> ()  throw ()</td></tr>
<tr class="memdesc:a10df7434d2f581b87fa3aa9c2215b736"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor inherited from the <a class="el" href="classpcl_1_1_grabber.html" title="Grabber interface for PCL 1.x device drivers">Grabber</a> interface. It never throws. <br /></td></tr>
<tr class="separator:a10df7434d2f581b87fa3aa9c2215b736"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa37f3e67f610a8a713e4c90c61747ad0"><td class="memItemLeft" align="right" valign="top">david::ServerInfo&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#aa37f3e67f610a8a713e4c90c61747ad0">connect</a> (const std::string &amp;address=&quot;127.0.0.1&quot;, uint16_t port=david::DAVID_SDK_DefaultPort)</td></tr>
<tr class="memdesc:aa37f3e67f610a8a713e4c90c61747ad0"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a href="http://docs.david-3d.com/sdk/en/classdavid_1_1_client_json_rpc.html#a4b948e57a2e5e7f9cdcf1171c500aa24">Connect</a> client  <a href="classpcl_1_1_david_s_d_k_grabber.html#aa37f3e67f610a8a713e4c90c61747ad0">更多...</a><br /></td></tr>
<tr class="separator:aa37f3e67f610a8a713e4c90c61747ad0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a582a3eab890fc3fb4737c28e25820b9b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a582a3eab890fc3fb4737c28e25820b9b">disconnect</a> (const bool stop_server)</td></tr>
<tr class="memdesc:a582a3eab890fc3fb4737c28e25820b9b"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a href="http://docs.david-3d.com/sdk/en/classdavid_1_1_client_json_rpc.html#a2770728a6de2c708df767bedf8be0814">Disconnect</a> client  <a href="classpcl_1_1_david_s_d_k_grabber.html#a582a3eab890fc3fb4737c28e25820b9b">更多...</a><br /></td></tr>
<tr class="separator:a582a3eab890fc3fb4737c28e25820b9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8b657a0629286fc89265c8159a338fd"><td class="memItemLeft" align="right" valign="top"><a id="af8b657a0629286fc89265c8159a338fd"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#af8b657a0629286fc89265c8159a338fd">start</a> ()</td></tr>
<tr class="memdesc:af8b657a0629286fc89265c8159a338fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start the point cloud and or image acquisition <br /></td></tr>
<tr class="separator:af8b657a0629286fc89265c8159a338fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a560f20528ec7c6c7725be34a01f1c203"><td class="memItemLeft" align="right" valign="top"><a id="a560f20528ec7c6c7725be34a01f1c203"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a560f20528ec7c6c7725be34a01f1c203">stop</a> ()</td></tr>
<tr class="memdesc:a560f20528ec7c6c7725be34a01f1c203"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop the data acquisition <br /></td></tr>
<tr class="separator:a560f20528ec7c6c7725be34a01f1c203"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad25d179ea002051f5bad0ce93d30f463"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#ad25d179ea002051f5bad0ce93d30f463">isRunning</a> () const</td></tr>
<tr class="memdesc:ad25d179ea002051f5bad0ce93d30f463"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the data acquisition is still running  <a href="classpcl_1_1_david_s_d_k_grabber.html#ad25d179ea002051f5bad0ce93d30f463">更多...</a><br /></td></tr>
<tr class="separator:ad25d179ea002051f5bad0ce93d30f463"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50850c0ecafee343a84ef39d8b83f398"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a50850c0ecafee343a84ef39d8b83f398">isConnected</a> () const</td></tr>
<tr class="memdesc:a50850c0ecafee343a84ef39d8b83f398"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the client is connected  <a href="classpcl_1_1_david_s_d_k_grabber.html#a50850c0ecafee343a84ef39d8b83f398">更多...</a><br /></td></tr>
<tr class="separator:a50850c0ecafee343a84ef39d8b83f398"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4aec0b3fcf2fda4892f1f9cdaa65f7b8"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a4aec0b3fcf2fda4892f1f9cdaa65f7b8">getName</a> () const</td></tr>
<tr class="memdesc:a4aec0b3fcf2fda4892f1f9cdaa65f7b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get class name  <a href="classpcl_1_1_david_s_d_k_grabber.html#a4aec0b3fcf2fda4892f1f9cdaa65f7b8">更多...</a><br /></td></tr>
<tr class="separator:a4aec0b3fcf2fda4892f1f9cdaa65f7b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad717027b798a7b61ec3c3ddd574cdbc2"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#ad717027b798a7b61ec3c3ddd574cdbc2">getLocalPath</a> ()</td></tr>
<tr class="memdesc:ad717027b798a7b61ec3c3ddd574cdbc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a843eafa070aae289d82cb479da5bec94">local_path_</a> path directory  <a href="classpcl_1_1_david_s_d_k_grabber.html#ad717027b798a7b61ec3c3ddd574cdbc2">更多...</a><br /></td></tr>
<tr class="separator:ad717027b798a7b61ec3c3ddd574cdbc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1c7f0a63e0e93da62e1ca6947d0506c"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#aa1c7f0a63e0e93da62e1ca6947d0506c">getRemotePath</a> ()</td></tr>
<tr class="memdesc:aa1c7f0a63e0e93da62e1ca6947d0506c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#ae4fa12bc512a0e693e0cd60c67f25a45">remote_path_</a> path directory  <a href="classpcl_1_1_david_s_d_k_grabber.html#aa1c7f0a63e0e93da62e1ca6947d0506c">更多...</a><br /></td></tr>
<tr class="separator:aa1c7f0a63e0e93da62e1ca6947d0506c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade6f28d9321ec30bde0fec085ef4b7a5"><td class="memItemLeft" align="right" valign="top"><a id="ade6f28d9321ec30bde0fec085ef4b7a5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#ade6f28d9321ec30bde0fec085ef4b7a5">setFileFormatToOBJ</a> ()</td></tr>
<tr class="memdesc:ade6f28d9321ec30bde0fec085ef4b7a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#aab3e7c03d377b7eeb4bc63dd41f14572">file_format_</a> to "obj" <br /></td></tr>
<tr class="separator:ade6f28d9321ec30bde0fec085ef4b7a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16e2971cb0818237622188801c584db7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a16e2971cb0818237622188801c584db7">setFileFormatToPLY</a> ()</td></tr>
<tr class="memdesc:a16e2971cb0818237622188801c584db7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#aab3e7c03d377b7eeb4bc63dd41f14572">file_format_</a> to "ply"  <a href="classpcl_1_1_david_s_d_k_grabber.html#a16e2971cb0818237622188801c584db7">更多...</a><br /></td></tr>
<tr class="separator:a16e2971cb0818237622188801c584db7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeaae1351a44e033b9fd9e1064fbaa404"><td class="memItemLeft" align="right" valign="top"><a id="aeaae1351a44e033b9fd9e1064fbaa404"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#aeaae1351a44e033b9fd9e1064fbaa404">setFileFormatToSTL</a> ()</td></tr>
<tr class="memdesc:aeaae1351a44e033b9fd9e1064fbaa404"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#aab3e7c03d377b7eeb4bc63dd41f14572">file_format_</a> to "stl" <br /></td></tr>
<tr class="separator:aeaae1351a44e033b9fd9e1064fbaa404"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00a22198709780b05c1e0536cefbe635"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a00a22198709780b05c1e0536cefbe635">getFileFormat</a> ()</td></tr>
<tr class="memdesc:a00a22198709780b05c1e0536cefbe635"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#aab3e7c03d377b7eeb4bc63dd41f14572">file_format_</a>  <a href="classpcl_1_1_david_s_d_k_grabber.html#a00a22198709780b05c1e0536cefbe635">更多...</a><br /></td></tr>
<tr class="separator:a00a22198709780b05c1e0536cefbe635"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62608e40ad017c0ee8a1700ff3b8c13f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a62608e40ad017c0ee8a1700ff3b8c13f">setLocalPath</a> (std::string path)</td></tr>
<tr class="memdesc:a62608e40ad017c0ee8a1700ff3b8c13f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a843eafa070aae289d82cb479da5bec94">local_path_</a> path directory for scanning files  <a href="classpcl_1_1_david_s_d_k_grabber.html#a62608e40ad017c0ee8a1700ff3b8c13f">更多...</a><br /></td></tr>
<tr class="separator:a62608e40ad017c0ee8a1700ff3b8c13f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a110b82af8101a696e28ad53ba26e0b87"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a110b82af8101a696e28ad53ba26e0b87">setRemotePath</a> (std::string path)</td></tr>
<tr class="memdesc:a110b82af8101a696e28ad53ba26e0b87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#ae4fa12bc512a0e693e0cd60c67f25a45">remote_path_</a> path directory for scanning files  <a href="classpcl_1_1_david_s_d_k_grabber.html#a110b82af8101a696e28ad53ba26e0b87">更多...</a><br /></td></tr>
<tr class="separator:a110b82af8101a696e28ad53ba26e0b87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a504c6ad11cb7af25e8aa07d274063199"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a504c6ad11cb7af25e8aa07d274063199">setLocalAndRemotePaths</a> (std::string local_path, std::string remote_path)</td></tr>
<tr class="memdesc:a504c6ad11cb7af25e8aa07d274063199"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a843eafa070aae289d82cb479da5bec94">local_path_</a> and <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#ae4fa12bc512a0e693e0cd60c67f25a45">remote_path_</a> directory paths  <a href="classpcl_1_1_david_s_d_k_grabber.html#a504c6ad11cb7af25e8aa07d274063199">更多...</a><br /></td></tr>
<tr class="separator:a504c6ad11cb7af25e8aa07d274063199"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03a46c10cf72f43e6f7f4d2bef714059"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a03a46c10cf72f43e6f7f4d2bef714059">calibrate</a> (double grid_size)</td></tr>
<tr class="memdesc:a03a46c10cf72f43e6f7f4d2bef714059"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calibrate the scanner  <a href="classpcl_1_1_david_s_d_k_grabber.html#a03a46c10cf72f43e6f7f4d2bef714059">更多...</a><br /></td></tr>
<tr class="separator:a03a46c10cf72f43e6f7f4d2bef714059"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae60b14e693e05b58d2a61df2b0282e6f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#ae60b14e693e05b58d2a61df2b0282e6f">grabSingleCloud</a> (<a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z.html">pcl::PointXYZ</a> &gt; &amp;cloud)</td></tr>
<tr class="memdesc:ae60b14e693e05b58d2a61df2b0282e6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Capture a single point cloud and store it  <a href="classpcl_1_1_david_s_d_k_grabber.html#ae60b14e693e05b58d2a61df2b0282e6f">更多...</a><br /></td></tr>
<tr class="separator:ae60b14e693e05b58d2a61df2b0282e6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdd7f91a95ab9a2f3ca52aa7a70b289f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#abdd7f91a95ab9a2f3ca52aa7a70b289f">grabSingleMesh</a> (<a class="el" href="structpcl_1_1_polygon_mesh.html">pcl::PolygonMesh</a> &amp;mesh)</td></tr>
<tr class="memdesc:abdd7f91a95ab9a2f3ca52aa7a70b289f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Capture a single mesh and store it  <a href="classpcl_1_1_david_s_d_k_grabber.html#abdd7f91a95ab9a2f3ca52aa7a70b289f">更多...</a><br /></td></tr>
<tr class="separator:abdd7f91a95ab9a2f3ca52aa7a70b289f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6801196d4ca70af3b9f6504eb6e82d9"><td class="memItemLeft" align="right" valign="top"><a id="ab6801196d4ca70af3b9f6504eb6e82d9"></a>
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#ab6801196d4ca70af3b9f6504eb6e82d9">getFramesPerSecond</a> () const</td></tr>
<tr class="memdesc:ab6801196d4ca70af3b9f6504eb6e82d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Obtain the number of frames per second (FPS) <br /></td></tr>
<tr class="separator:ab6801196d4ca70af3b9f6504eb6e82d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classpcl_1_1_grabber"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classpcl_1_1_grabber')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="classpcl_1_1_grabber.html">pcl::Grabber</a></td></tr>
<tr class="memitem:ad1bd77c0344f3cf3283757daddb4fe9d inherit pub_methods_classpcl_1_1_grabber"><td class="memItemLeft" align="right" valign="top"><a id="ad1bd77c0344f3cf3283757daddb4fe9d"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_grabber.html#ad1bd77c0344f3cf3283757daddb4fe9d">Grabber</a> ()</td></tr>
<tr class="memdesc:ad1bd77c0344f3cf3283757daddb4fe9d inherit pub_methods_classpcl_1_1_grabber"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:ad1bd77c0344f3cf3283757daddb4fe9d inherit pub_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c8545d6fe2aadc0fe8ba9643f80c1fc inherit pub_methods_classpcl_1_1_grabber"><td class="memItemLeft" align="right" valign="top"><a id="a1c8545d6fe2aadc0fe8ba9643f80c1fc"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_grabber.html#a1c8545d6fe2aadc0fe8ba9643f80c1fc">~Grabber</a> ()  throw ()</td></tr>
<tr class="memdesc:a1c8545d6fe2aadc0fe8ba9643f80c1fc inherit pub_methods_classpcl_1_1_grabber"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual desctructor. <br /></td></tr>
<tr class="separator:a1c8545d6fe2aadc0fe8ba9643f80c1fc inherit pub_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35dc83ee946b0bd5d0a7cbad4df7427b inherit pub_methods_classpcl_1_1_grabber"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a35dc83ee946b0bd5d0a7cbad4df7427b inherit pub_methods_classpcl_1_1_grabber"><td class="memTemplItemLeft" align="right" valign="top">boost::signals2::connection&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpcl_1_1_grabber.html#a35dc83ee946b0bd5d0a7cbad4df7427b">registerCallback</a> (const boost::function&lt; T &gt; &amp;callback)</td></tr>
<tr class="memdesc:a35dc83ee946b0bd5d0a7cbad4df7427b inherit pub_methods_classpcl_1_1_grabber"><td class="mdescLeft">&#160;</td><td class="mdescRight">registers a callback function/method to a signal with the corresponding signature  <a href="classpcl_1_1_grabber.html#a35dc83ee946b0bd5d0a7cbad4df7427b">更多...</a><br /></td></tr>
<tr class="separator:a35dc83ee946b0bd5d0a7cbad4df7427b inherit pub_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed2b00928603dfd9e51cfb22adbedae6 inherit pub_methods_classpcl_1_1_grabber"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:aed2b00928603dfd9e51cfb22adbedae6 inherit pub_methods_classpcl_1_1_grabber"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpcl_1_1_grabber.html#aed2b00928603dfd9e51cfb22adbedae6">providesCallback</a> () const</td></tr>
<tr class="memdesc:aed2b00928603dfd9e51cfb22adbedae6 inherit pub_methods_classpcl_1_1_grabber"><td class="mdescLeft">&#160;</td><td class="mdescRight">indicates whether a signal with given parameter-type exists or not  <a href="classpcl_1_1_grabber.html#aed2b00928603dfd9e51cfb22adbedae6">更多...</a><br /></td></tr>
<tr class="separator:aed2b00928603dfd9e51cfb22adbedae6 inherit pub_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public 属性</h2></td></tr>
<tr class="memitem:ae1245178deb96ec60fe6c03b366101e7"><td class="memItemLeft" align="right" valign="top"><a id="ae1245178deb96ec60fe6c03b366101e7"></a>
david::Client&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#ae1245178deb96ec60fe6c03b366101e7">david_</a></td></tr>
<tr class="memdesc:ae1245178deb96ec60fe6c03b366101e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">davidSDK client <br /></td></tr>
<tr class="separator:ae1245178deb96ec60fe6c03b366101e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected 成员函数</h2></td></tr>
<tr class="memitem:a3e0ba33df33c2729349178cb9b908a24"><td class="memItemLeft" align="right" valign="top"><a id="a3e0ba33df33c2729349178cb9b908a24"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a3e0ba33df33c2729349178cb9b908a24">processGrabbing</a> ()</td></tr>
<tr class="memdesc:a3e0ba33df33c2729349178cb9b908a24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Continuously asks for images and or point clouds/meshes data from the device and publishes them if available. <br /></td></tr>
<tr class="separator:a3e0ba33df33c2729349178cb9b908a24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classpcl_1_1_grabber"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classpcl_1_1_grabber')"><img src="closed.png" alt="-"/>&#160;Protected 成员函数 继承自 <a class="el" href="classpcl_1_1_grabber.html">pcl::Grabber</a></td></tr>
<tr class="memitem:a1eaf930e8f5bc9befdf9e7e3dd85cab3 inherit pro_methods_classpcl_1_1_grabber"><td class="memItemLeft" align="right" valign="top"><a id="a1eaf930e8f5bc9befdf9e7e3dd85cab3"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>signalsChanged</b> ()</td></tr>
<tr class="separator:a1eaf930e8f5bc9befdf9e7e3dd85cab3 inherit pro_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29a1f6e6e197519b08536b6095d28ccc inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplParams" colspan="2"><a id="a29a1f6e6e197519b08536b6095d28ccc"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:a29a1f6e6e197519b08536b6095d28ccc inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplItemLeft" align="right" valign="top">boost::signals2::signal&lt; T &gt; *&#160;</td><td class="memTemplItemRight" valign="bottom"><b>find_signal</b> () const</td></tr>
<tr class="separator:a29a1f6e6e197519b08536b6095d28ccc inherit pro_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae87e7482328a297a95396467e0e28856 inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplParams" colspan="2"><a id="ae87e7482328a297a95396467e0e28856"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:ae87e7482328a297a95396467e0e28856 inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><b>num_slots</b> () const</td></tr>
<tr class="separator:ae87e7482328a297a95396467e0e28856 inherit pro_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9ade6bd29a46f6acb411a7968f99ae8 inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplParams" colspan="2"><a id="aa9ade6bd29a46f6acb411a7968f99ae8"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:aa9ade6bd29a46f6acb411a7968f99ae8 inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>disconnect_all_slots</b> ()</td></tr>
<tr class="separator:aa9ade6bd29a46f6acb411a7968f99ae8 inherit pro_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aceece1bd68187c109b289567c33536b9 inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplParams" colspan="2"><a id="aceece1bd68187c109b289567c33536b9"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:aceece1bd68187c109b289567c33536b9 inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>block_signal</b> ()</td></tr>
<tr class="separator:aceece1bd68187c109b289567c33536b9 inherit pro_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25c1f3c966c486be2b01fe11d2d0df5a inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplParams" colspan="2"><a id="a25c1f3c966c486be2b01fe11d2d0df5a"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:a25c1f3c966c486be2b01fe11d2d0df5a inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>unblock_signal</b> ()</td></tr>
<tr class="separator:a25c1f3c966c486be2b01fe11d2d0df5a inherit pro_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a023e6b7d7c8ebc27d59e7076162c4c73 inherit pro_methods_classpcl_1_1_grabber"><td class="memItemLeft" align="right" valign="top"><a id="a023e6b7d7c8ebc27d59e7076162c4c73"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>block_signals</b> ()</td></tr>
<tr class="separator:a023e6b7d7c8ebc27d59e7076162c4c73 inherit pro_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57fa6746fd5521b7cfe27b7847778969 inherit pro_methods_classpcl_1_1_grabber"><td class="memItemLeft" align="right" valign="top"><a id="a57fa6746fd5521b7cfe27b7847778969"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>unblock_signals</b> ()</td></tr>
<tr class="separator:a57fa6746fd5521b7cfe27b7847778969 inherit pro_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e1ee7a265cee458f59414de47a34ed2 inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplParams" colspan="2"><a id="a3e1ee7a265cee458f59414de47a34ed2"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:a3e1ee7a265cee458f59414de47a34ed2 inherit pro_methods_classpcl_1_1_grabber"><td class="memTemplItemLeft" align="right" valign="top">boost::signals2::signal&lt; T &gt; *&#160;</td><td class="memTemplItemRight" valign="bottom"><b>createSignal</b> ()</td></tr>
<tr class="separator:a3e1ee7a265cee458f59414de47a34ed2 inherit pro_methods_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected 属性</h2></td></tr>
<tr class="memitem:a8def3d0d78ebf4d3c9f5c487761d62aa"><td class="memItemLeft" align="right" valign="top"><a id="a8def3d0d78ebf4d3c9f5c487761d62aa"></a>
boost::thread&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a8def3d0d78ebf4d3c9f5c487761d62aa">grabber_thread_</a></td></tr>
<tr class="memdesc:a8def3d0d78ebf4d3c9f5c487761d62aa"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classpcl_1_1_grabber.html" title="Grabber interface for PCL 1.x device drivers">Grabber</a> thread <br /></td></tr>
<tr class="separator:a8def3d0d78ebf4d3c9f5c487761d62aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4c7360702c6916b6eeecc847a9533b9"><td class="memItemLeft" align="right" valign="top"><a id="ac4c7360702c6916b6eeecc847a9533b9"></a>
boost::signals2::signal&lt; sig_cb_davidsdk_point_cloud &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#ac4c7360702c6916b6eeecc847a9533b9">point_cloud_signal_</a></td></tr>
<tr class="memdesc:ac4c7360702c6916b6eeecc847a9533b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Boost point cloud signal <br /></td></tr>
<tr class="separator:ac4c7360702c6916b6eeecc847a9533b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45309eb7e778e2d5c6d48c8f292eaabf"><td class="memItemLeft" align="right" valign="top"><a id="a45309eb7e778e2d5c6d48c8f292eaabf"></a>
boost::signals2::signal&lt; sig_cb_davidsdk_mesh &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a45309eb7e778e2d5c6d48c8f292eaabf">mesh_signal_</a></td></tr>
<tr class="memdesc:a45309eb7e778e2d5c6d48c8f292eaabf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Boost mesh signal <br /></td></tr>
<tr class="separator:a45309eb7e778e2d5c6d48c8f292eaabf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5914936b5f0c1a6061d01f70bd963410"><td class="memItemLeft" align="right" valign="top"><a id="a5914936b5f0c1a6061d01f70bd963410"></a>
boost::signals2::signal&lt; sig_cb_davidsdk_image &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a5914936b5f0c1a6061d01f70bd963410">image_signal_</a></td></tr>
<tr class="memdesc:a5914936b5f0c1a6061d01f70bd963410"><td class="mdescLeft">&#160;</td><td class="mdescRight">Boost image signal <br /></td></tr>
<tr class="separator:a5914936b5f0c1a6061d01f70bd963410"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9486446750dce6cf3db6bba57740737"><td class="memItemLeft" align="right" valign="top"><a id="af9486446750dce6cf3db6bba57740737"></a>
boost::signals2::signal&lt; sig_cb_davidsdk_point_cloud_image &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#af9486446750dce6cf3db6bba57740737">point_cloud_image_signal_</a></td></tr>
<tr class="memdesc:af9486446750dce6cf3db6bba57740737"><td class="mdescLeft">&#160;</td><td class="mdescRight">Boost image + point cloud signal <br /></td></tr>
<tr class="separator:af9486446750dce6cf3db6bba57740737"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74c5e5e9a1519665b699728dea57fa2f"><td class="memItemLeft" align="right" valign="top"><a id="a74c5e5e9a1519665b699728dea57fa2f"></a>
boost::signals2::signal&lt; sig_cb_davidsdk_mesh_image &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a74c5e5e9a1519665b699728dea57fa2f">mesh_image_signal_</a></td></tr>
<tr class="memdesc:a74c5e5e9a1519665b699728dea57fa2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Boost mesh + image signal <br /></td></tr>
<tr class="separator:a74c5e5e9a1519665b699728dea57fa2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed1c19097c50112c4d4bf939cde80929"><td class="memItemLeft" align="right" valign="top"><a id="aed1c19097c50112c4d4bf939cde80929"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#aed1c19097c50112c4d4bf939cde80929">client_connected_</a></td></tr>
<tr class="memdesc:aed1c19097c50112c4d4bf939cde80929"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether the client is connected <br /></td></tr>
<tr class="separator:aed1c19097c50112c4d4bf939cde80929"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c88ca952ea5882bd9eca5453af53396"><td class="memItemLeft" align="right" valign="top"><a id="a9c88ca952ea5882bd9eca5453af53396"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a9c88ca952ea5882bd9eca5453af53396">running_</a></td></tr>
<tr class="memdesc:a9c88ca952ea5882bd9eca5453af53396"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether an davidSDK device is running or not <br /></td></tr>
<tr class="separator:a9c88ca952ea5882bd9eca5453af53396"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a843eafa070aae289d82cb479da5bec94"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a843eafa070aae289d82cb479da5bec94">local_path_</a></td></tr>
<tr class="memdesc:a843eafa070aae289d82cb479da5bec94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local path of directory where the scanning file will be located.  <a href="classpcl_1_1_david_s_d_k_grabber.html#a843eafa070aae289d82cb479da5bec94">更多...</a><br /></td></tr>
<tr class="separator:a843eafa070aae289d82cb479da5bec94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4fa12bc512a0e693e0cd60c67f25a45"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#ae4fa12bc512a0e693e0cd60c67f25a45">remote_path_</a></td></tr>
<tr class="memdesc:ae4fa12bc512a0e693e0cd60c67f25a45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remote path of directory where the scanning file will be located.  <a href="classpcl_1_1_david_s_d_k_grabber.html#ae4fa12bc512a0e693e0cd60c67f25a45">更多...</a><br /></td></tr>
<tr class="separator:ae4fa12bc512a0e693e0cd60c67f25a45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab3e7c03d377b7eeb4bc63dd41f14572"><td class="memItemLeft" align="right" valign="top"><a id="aab3e7c03d377b7eeb4bc63dd41f14572"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#aab3e7c03d377b7eeb4bc63dd41f14572">file_format_</a></td></tr>
<tr class="memdesc:aab3e7c03d377b7eeb4bc63dd41f14572"><td class="mdescLeft">&#160;</td><td class="mdescRight">Export file extension, available formats are STL, OBJ, PLY <br /></td></tr>
<tr class="separator:aab3e7c03d377b7eeb4bc63dd41f14572"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a3b94b04a92950e4f49dde6c81df7a6"><td class="memItemLeft" align="right" valign="top"><a id="a4a3b94b04a92950e4f49dde6c81df7a6"></a>
<a class="el" href="classpcl_1_1_event_frequency.html">pcl::EventFrequency</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a4a3b94b04a92950e4f49dde6c81df7a6">frequency_</a></td></tr>
<tr class="memdesc:a4a3b94b04a92950e4f49dde6c81df7a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">processGrabbing capture/processing frequency <br /></td></tr>
<tr class="separator:a4a3b94b04a92950e4f49dde6c81df7a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01e47dcc9fdb18d19e2d2fa347a38f4b"><td class="memItemLeft" align="right" valign="top"><a id="a01e47dcc9fdb18d19e2d2fa347a38f4b"></a>
boost::mutex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a01e47dcc9fdb18d19e2d2fa347a38f4b">fps_mutex_</a></td></tr>
<tr class="memdesc:a01e47dcc9fdb18d19e2d2fa347a38f4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mutual exclusion for FPS computation <br /></td></tr>
<tr class="separator:a01e47dcc9fdb18d19e2d2fa347a38f4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classpcl_1_1_grabber"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classpcl_1_1_grabber')"><img src="closed.png" alt="-"/>&#160;Protected 属性 继承自 <a class="el" href="classpcl_1_1_grabber.html">pcl::Grabber</a></td></tr>
<tr class="memitem:a0e74a0908693c0c948452476d0102dac inherit pro_attribs_classpcl_1_1_grabber"><td class="memItemLeft" align="right" valign="top"><a id="a0e74a0908693c0c948452476d0102dac"></a>
std::map&lt; std::string, boost::signals2::signal_base * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>signals_</b></td></tr>
<tr class="separator:a0e74a0908693c0c948452476d0102dac inherit pro_attribs_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63415b3517806c488fa840c54cacb5ad inherit pro_attribs_classpcl_1_1_grabber"><td class="memItemLeft" align="right" valign="top"><a id="a63415b3517806c488fa840c54cacb5ad"></a>
std::map&lt; std::string, std::vector&lt; boost::signals2::connection &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>connections_</b></td></tr>
<tr class="separator:a63415b3517806c488fa840c54cacb5ad inherit pro_attribs_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d8b3dcbecbe76b1f58978ed1b3a222f inherit pro_attribs_classpcl_1_1_grabber"><td class="memItemLeft" align="right" valign="top"><a id="a9d8b3dcbecbe76b1f58978ed1b3a222f"></a>
std::map&lt; std::string, std::vector&lt; boost::signals2::shared_connection_block &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>shared_connections_</b></td></tr>
<tr class="separator:a9d8b3dcbecbe76b1f58978ed1b3a222f inherit pro_attribs_classpcl_1_1_grabber"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p><a class="el" href="classpcl_1_1_grabber.html" title="Grabber interface for PCL 1.x device drivers">Grabber</a> for davidSDK structured light compliant devices.<br  />
The <a href="http://www.david-3d.com/en/products/david-sdk">davidSDK SDK</a> allows to use a structured light scanner to fetch clouds/meshes.<br  />
The purpose of this grabber is NOT to provide all davidSDK functionalities but rather provide a PCL-unified interface to the sensor for basic operations.<br  />
Please consult the <a href="http://wiki.david-3d.com/david-wiki">David-3d wiki</a> for more information. </p>
<dl class="section author"><dt>作者</dt><dd>Victor Lamoine (<a href="#" onclick="location.href='mai'+'lto:'+'vic'+'to'+'r.l'+'am'+'oin'+'e@'+'gma'+'il'+'.co'+'m'; return false;">victo<span style="display: none;">.nosp@m.</span>r.la<span style="display: none;">.nosp@m.</span>moine<span style="display: none;">.nosp@m.</span>@gma<span style="display: none;">.nosp@m.</span>il.co<span style="display: none;">.nosp@m.</span>m</a>)<br  />
</dd></dl>
</div><h2 class="groupheader">成员函数说明</h2>
<a id="a03a46c10cf72f43e6f7f4d2bef714059"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03a46c10cf72f43e6f7f4d2bef714059">&#9670;&nbsp;</a></span>calibrate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool pcl::DavidSDKGrabber::calibrate </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>grid_size</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calibrate the scanner </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">grid_size</td><td>Size of the calibration grid in millimeters </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>True if successful, false otherwise</dd></dl>
<p>More information <a href="http://wiki.david-3d.com/david3_user_manual/structured_light">here</a>.<br  />
Also see <a href="http://docs.david-3d.com/sdk/en/classdavid_1_1_i_structured_light_scanner.html#a68e888636883d90aac7891d2ef9e6b27">ImportCalibration</a>.<br  />
and <a href="http://docs.david-3d.com/sdk/en/classdavid_1_1_i_structured_light_scanner.html#a66817b07227f9a8852663d9141ae48db">ExportCalibration</a>.</p>
<dl class="section warning"><dt>警告</dt><dd>You MUST perform calibration each time you modify the camera/projector focus or move the camera relatively to the projector.<br  />
</dd></dl>

</div>
</div>
<a id="aa37f3e67f610a8a713e4c90c61747ad0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa37f3e67f610a8a713e4c90c61747ad0">&#9670;&nbsp;</a></span>connect()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">david::ServerInfo pcl::DavidSDKGrabber::connect </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>address</em> = <code>&quot;127.0.0.1&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>port</em> = <code>david::DAVID_SDK_DefaultPort</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a href="http://docs.david-3d.com/sdk/en/classdavid_1_1_client_json_rpc.html#a4b948e57a2e5e7f9cdcf1171c500aa24">Connect</a> client </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">address</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">port</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>Server info </dd></dl>

</div>
</div>
<a id="a582a3eab890fc3fb4737c28e25820b9b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a582a3eab890fc3fb4737c28e25820b9b">&#9670;&nbsp;</a></span>disconnect()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::DavidSDKGrabber::disconnect </td>
          <td>(</td>
          <td class="paramtype">const bool&#160;</td>
          <td class="paramname"><em>stop_server</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a href="http://docs.david-3d.com/sdk/en/classdavid_1_1_client_json_rpc.html#a2770728a6de2c708df767bedf8be0814">Disconnect</a> client </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">stop_server</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a00a22198709780b05c1e0536cefbe635"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00a22198709780b05c1e0536cefbe635">&#9670;&nbsp;</a></span>getFileFormat()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string pcl::DavidSDKGrabber::getFileFormat </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#aab3e7c03d377b7eeb4bc63dd41f14572">file_format_</a> </p>
<dl class="section return"><dt>返回</dt><dd>the file format </dd></dl>

</div>
</div>
<a id="ad717027b798a7b61ec3c3ddd574cdbc2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad717027b798a7b61ec3c3ddd574cdbc2">&#9670;&nbsp;</a></span>getLocalPath()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string pcl::DavidSDKGrabber::getLocalPath </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a843eafa070aae289d82cb479da5bec94">local_path_</a> path directory </p>
<dl class="section return"><dt>返回</dt><dd>the path </dd></dl>

</div>
</div>
<a id="a4aec0b3fcf2fda4892f1f9cdaa65f7b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4aec0b3fcf2fda4892f1f9cdaa65f7b8">&#9670;&nbsp;</a></span>getName()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string pcl::DavidSDKGrabber::getName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get class name </p>
<dl class="section return"><dt>返回</dt><dd>A string containing the class name </dd></dl>

<p>实现了 <a class="el" href="classpcl_1_1_grabber.html#af5765700b48bea8865af2f90e46ea3e6">pcl::Grabber</a>.</p>

</div>
</div>
<a id="aa1c7f0a63e0e93da62e1ca6947d0506c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1c7f0a63e0e93da62e1ca6947d0506c">&#9670;&nbsp;</a></span>getRemotePath()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string pcl::DavidSDKGrabber::getRemotePath </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#ae4fa12bc512a0e693e0cd60c67f25a45">remote_path_</a> path directory </p>
<dl class="section return"><dt>返回</dt><dd>the path </dd></dl>

</div>
</div>
<a id="ae60b14e693e05b58d2a61df2b0282e6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae60b14e693e05b58d2a61df2b0282e6f">&#9670;&nbsp;</a></span>grabSingleCloud()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool pcl::DavidSDKGrabber::grabSingleCloud </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z.html">pcl::PointXYZ</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>cloud</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Capture a single point cloud and store it </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">cloud</td><td>The cloud to be filled </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>True if successful, false otherwise </dd></dl>
<dl class="section warning"><dt>警告</dt><dd>Calls <a href="http://docs.david-3d.com/sdk/en/classdavid_1_1_i_shape_fusion.html#aed22e458b51f1361803360c02c2d1403">DeleteAllMeshes()</a> </dd></dl>

</div>
</div>
<a id="abdd7f91a95ab9a2f3ca52aa7a70b289f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abdd7f91a95ab9a2f3ca52aa7a70b289f">&#9670;&nbsp;</a></span>grabSingleMesh()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool pcl::DavidSDKGrabber::grabSingleMesh </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structpcl_1_1_polygon_mesh.html">pcl::PolygonMesh</a> &amp;&#160;</td>
          <td class="paramname"><em>mesh</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Capture a single mesh and store it </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">mesh</td><td>The mesh to be filled </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>True if successful, false otherwise </dd></dl>
<dl class="section warning"><dt>警告</dt><dd>Calls <a href="http://docs.david-3d.com/sdk/en/classdavid_1_1_i_shape_fusion.html#aed22e458b51f1361803360c02c2d1403">DeleteAllMeshes()</a> </dd></dl>

</div>
</div>
<a id="a50850c0ecafee343a84ef39d8b83f398"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50850c0ecafee343a84ef39d8b83f398">&#9670;&nbsp;</a></span>isConnected()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool pcl::DavidSDKGrabber::isConnected </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if the client is connected </p>
<dl class="section return"><dt>返回</dt><dd>True if connected, false otherwise </dd></dl>

</div>
</div>
<a id="ad25d179ea002051f5bad0ce93d30f463"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad25d179ea002051f5bad0ce93d30f463">&#9670;&nbsp;</a></span>isRunning()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool pcl::DavidSDKGrabber::isRunning </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check if the data acquisition is still running </p>
<dl class="section return"><dt>返回</dt><dd>True if running, false otherwise </dd></dl>

<p>实现了 <a class="el" href="classpcl_1_1_grabber.html#ae3a9df18b055d26ba339dc9fac408a7f">pcl::Grabber</a>.</p>

</div>
</div>
<a id="a16e2971cb0818237622188801c584db7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16e2971cb0818237622188801c584db7">&#9670;&nbsp;</a></span>setFileFormatToPLY()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::DavidSDKGrabber::setFileFormatToPLY </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#aab3e7c03d377b7eeb4bc63dd41f14572">file_format_</a> to "ply" </p>
<dl class="section warning"><dt>警告</dt><dd>This format is NOT available with trial versions of the davidSDK server! </dd></dl>

</div>
</div>
<a id="a504c6ad11cb7af25e8aa07d274063199"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a504c6ad11cb7af25e8aa07d274063199">&#9670;&nbsp;</a></span>setLocalAndRemotePaths()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::DavidSDKGrabber::setLocalAndRemotePaths </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>local_path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>remote_path</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a843eafa070aae289d82cb479da5bec94">local_path_</a> and <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#ae4fa12bc512a0e693e0cd60c67f25a45">remote_path_</a> directory paths </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">local_path</td><td></td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">remote_path</td><td>If the path is empty, using default value ("C:/temp") </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a62608e40ad017c0ee8a1700ff3b8c13f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62608e40ad017c0ee8a1700ff3b8c13f">&#9670;&nbsp;</a></span>setLocalPath()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::DavidSDKGrabber::setLocalPath </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a843eafa070aae289d82cb479da5bec94">local_path_</a> path directory for scanning files </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>The directory path</td></tr>
  </table>
  </dd>
</dl>
<p>If the path is empty, using default value ("C:/temp") </p>

</div>
</div>
<a id="a110b82af8101a696e28ad53ba26e0b87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a110b82af8101a696e28ad53ba26e0b87">&#9670;&nbsp;</a></span>setRemotePath()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pcl::DavidSDKGrabber::setRemotePath </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#ae4fa12bc512a0e693e0cd60c67f25a45">remote_path_</a> path directory for scanning files </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>The directory path</td></tr>
  </table>
  </dd>
</dl>
<p>If the string is empty, <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#ae4fa12bc512a0e693e0cd60c67f25a45">remote_path_</a> = <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a843eafa070aae289d82cb479da5bec94">local_path_</a> </p>

</div>
</div>
<h2 class="groupheader">类成员变量说明</h2>
<a id="a843eafa070aae289d82cb479da5bec94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a843eafa070aae289d82cb479da5bec94">&#9670;&nbsp;</a></span>local_path_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string pcl::DavidSDKGrabber::local_path_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Local path of directory where the scanning file will be located. </p>
<dl class="section note"><dt>注解</dt><dd>Default value is <code>C:/temp</code> </dd></dl>

</div>
</div>
<a id="ae4fa12bc512a0e693e0cd60c67f25a45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4fa12bc512a0e693e0cd60c67f25a45">&#9670;&nbsp;</a></span>remote_path_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string pcl::DavidSDKGrabber::remote_path_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Remote path of directory where the scanning file will be located. </p>
<dl class="section note"><dt>注解</dt><dd>If this is empty, the <a class="el" href="classpcl_1_1_david_s_d_k_grabber.html#a843eafa070aae289d82cb479da5bec94">local_path_</a> will be used instead Default value is <code>C:/temp</code> </dd></dl>

</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>io/include/pcl/io/<a class="el" href="davidsdk__grabber_8h_source.html">davidsdk_grabber.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>pcl</b></li><li class="navelem"><a class="el" href="classpcl_1_1_david_s_d_k_grabber.html">DavidSDKGrabber</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
